home *** CD-ROM | disk | FTP | other *** search
/ Aminet 30 / Aminet 30 (1999)(Schatztruhe)[!][Apr 1999].iso / Aminet / dev / mui / bcc_src.lha / Parser / ParseDir.cpp < prev    next >
C/C++ Source or Header  |  1998-03-15  |  606b  |  41 lines

  1. #include "ParseDir.h"
  2. #include "string.h"
  3.  
  4. ParseDir::ParseDir( char *temp )
  5. {
  6.   memset( &ap, 0, sizeof( AnchorPath ) );
  7.   ap.ap_BreakBits = SIGBREAKF_CTRL_C;
  8.  
  9.   first = 1;
  10.   stat = MatchFirst( temp, &ap );
  11.     
  12. }
  13.  
  14. ParseDir::~ParseDir()
  15. {
  16.  
  17.  if( stat && IoErr() == ERROR_NO_MORE_ENTRIES ) SetIoErr( 0 );
  18.  MatchEnd( &ap );
  19.  
  20. }
  21.  
  22. char *ParseDir::Next( void )
  23. {
  24.     char *ret;
  25.  
  26.     if( !first ) stat = MatchNext( &ap );
  27.     first = 0;
  28.  
  29.     if( stat ) return 0;
  30.  
  31.     while( !stat && ap.ap_Info.fib_DirEntryType > 0 ) stat = MatchNext( &ap );
  32.     
  33.     if( stat ) return 0;
  34.     
  35.     ret = (char*)ap.ap_Info.fib_FileName;
  36.     
  37.     return ret;
  38.         
  39. }
  40.  
  41.